
package Data;
import java.rmi.RemoteException;
import java.util.Date;


/**
 *
 * @author Philipp Armbruster
 * @author Stefan Fellner
 */

public class BookingImpl
    extends java.rmi.server.UnicastRemoteObject
    implements Booking {

    /* Eindeutige Buchungsnummer */

        private int bookingId;

    /* Sitzposition für diese Buchung, z.B. B4*/

        private String seatPosition;

    /* Datum des Check-In */

        private Date checkInDate;

    /* PassengerId des zugehörigen Passagiers*/

        private int passengerId;

    /* RealizationId, die dieser Buchung zugeordnet wurde*/

        private int realizationId;

    /* Konstruktor - Klasse Buchen - */

        public BookingImpl(int passengerId, int realizationId)
            throws java.rmi.RemoteException {

            this.passengerId = passengerId;
            this.realizationId = realizationId;
        }

    /* Set-Methoden */

        /**
        * Setzen einer eindeutigen Buchungsnummer.
        * @param bookingId (Buchungsnummer)
        * @throws java.rmi.RemoteException
        */

        public void setBookingId(int bookingId) throws java.rmi.RemoteException {
            this.bookingId = bookingId;
        }


        /**
        * Datum des Check-Ins festlegen.
        * @param Date (Datum des Check-Ins)
        * @throws java.rmi.RemoteException
        */

        public void setCheckInDate(Date checkInDate) throws java.rmi.RemoteException {
            this.checkInDate = checkInDate;
        }

        /**
        * Setzen der Sitzposition, d.h. jede Buchung bekommt einen Sitz zugewiesen z.B. 4B.
        * @param String seatPosition
        * @throws java.rmi.RemoteException
        */

        public void setSeatPosition(String seatPosition) throws java.rmi.RemoteException{
            this.seatPosition = seatPosition;
        }
        
        /**
        * Setzen der passengerId
        * @param int passengerId
        * @throws java.rmi.RemoteException
        */

        public void setPassengerId(int passengerId) throws java.rmi.RemoteException{
            this.passengerId = passengerId;
        }
        
        /**
        * Setzen der realizationId, d.h. die FlugRealisierung, die dieser Buchung zugeordnet ist.
        * @param int realizationId
        * @throws java.rmi.RemoteException
        */

        public void setRealizationId(int realizationId) throws java.rmi.RemoteException{
            this.realizationId = realizationId;
        }



        
        
    /* Get-Methoden */

        /**
        * Auslesen der Buchungsnnummer.
        * @return Buchungsnnummer
        * @throws java.rmi.RemoteException
        */

        public int getBookingId() throws java.rmi.RemoteException {
            return this.bookingId;
        }


        /**
        * Auslesen des Check-In Datums.
        * @return Datum
        * @throws java.rmi.RemoteException
        */

        public Date getCheckInDate() throws java.rmi.RemoteException {
            return this.checkInDate;
        }

        /**
        * Auslesen des Sitzplatzes, z.B. 4B.
        * @return seatPosition
        * @throws java.rmi.RemoteException
        */

        public String getSeatPosition() throws java.rmi.RemoteException{
            return this.seatPosition;
        }

        /**
        * Auslesen der passengerId
        * @return passengerId
        * @throws java.rmi.RemoteException
        */

        public int getPassengerId() throws java.rmi.RemoteException{
            return this.passengerId;
        }

        /**
        * Auslesen der realizationId, d.h. die FlugRealisierung, die dieser Buchung zugeordnet ist.
        * @return realizationId
        * @throws java.rmi.RemoteException
        */

        public int getRealizationId() throws java.rmi.RemoteException{
            return this.realizationId;
        }

}
